#pragma once

#include "Framebuffer.h"
#include "Shader.h"
#include "Texture.h"

class Blur
{
private:
	Framebuffer *framebuffer;
	int blurCount;
	int sampleStep;

	Shader *vpBlur;
	Shader *fpBlur;

	Texture **blurredTextures;
	Texture *tmpTex;

	void BlurTexture(UINT srcTex, UINT dstTex);

public:
	Blur(Framebuffer *framebuffer, int blurCount, int sampleStep, Shader *vpBlur, Shader *fpBlur);
	~Blur(void);

	void MakeBlur(UINT texIdToBlur);

	UINT GetBlurredTexture(int index);
};
